8.10 join表格横向拼接(按索引号或标签)
pd.concat()函数既可以做纵向拼接,也可以做横向拼接,但横向拼接成功比较简单,df.join()函数也是以表格的行索引为连接做横向拼接,但连接键设置和拼接方式更为灵活。结构以下:
df.join(other,on=None,how=”left” ,lsuffix=””,rsuffix=””,sort=False)
other:df.join()函数中的df既可以视为拼接的左表,而other参数可以看到拼接的右表,该参数可以是单个DataFrame或单个Series,如果是多个则组织在列表。
on :指定df表(左表中设置为索引行的列,相当于做关联的列,可以是多列。
How :左表和右表的联接方式,分为left(左联接),right(右联接),outer(外联接),inner(内联接),默认为left(左联接)
Lsuffix :左列表后缀
rsuffix :右列表名后缀
Sort :按字典顺序排序结果表格,如果为False,则连接键的顺序取于连接类型(how关键字)
import pandas as pd
y19=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.8.10 join表格横向拼接(按索引号或标签).xlsx","2019年", index_col=0)
y20=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.8.10 join表格横向拼接(按索引号或标签).xlsx","2020年", index_col=0)
print (y19)
print (y20)
df=y19.join(other=y20,
lsuffix= "19",
rsuffix= "20",
)
print (df)
返回:
部门 | 业绩 | |
---|---|---|
业务员 | ||
张三 | 销售1部 | 153 |
李四 | 销售2部 | 228 |
王麻子 | 销售2部 | 189 |
小韦 | 销售3部 | 185 |
许麻子 | 销售1部 | 265 |
老刘 | 销售1部 | 143 |
部门 | 业绩 | |
---|---|---|
业务员 | ||
张三 | 销售1部 | 180 |
李四 | 销售2部 | 124 |
王麻子 | 销售2部 | 125 |
许麻子 | 销售1部 | 215 |
老刘 | 销售1部 | 171 |
老王 | 销售1部 | 113 |
部门19 | 业绩19 | 部门20 | 业绩20 | |
---|---|---|---|---|
业务员 | ||||
张三 | 销售1部 | 153 | 销售1部 | 180.0 |
李四 | 销售2部 | 228 | 销售2部 | 124.0 |
王麻子 | 销售2部 | 189 | 销售2部 | 125.0 |
小韦 | 销售3部 | 185 | NaN | NaN |
许麻子 | 销售1部 | 265 | 销售1部 | 215.0 |
老刘 | 销售1部 | 143 | 销售1部 | 171.0 |